package com.abewy.android.apps.klyph.core.fql; import java.util.ArrayList; import java.util.List; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; import com.abewy.android.apps.klyph.core.fql.Stream.CommentInfo; import com.abewy.android.apps.klyph.core.graph.GraphObject; import com.abewy.android.apps.klyph.core.util.DailymotionUtil; import com.abewy.android.apps.klyph.core.util.VimeoUtil; import com.abewy.android.apps.klyph.core.util.YoutubeUtil; public class Link extends GraphObject implements Parcelable { private String backdated_time; private boolean can_backdate; private String caption; private CommentInfo comment_info; private String created_time; private List<String> image_urls; private LikeInfo like_info; private String link_id; private String owner; private String owner_name; private String owner_type; private String owner_pic; private String owner_comment; private String owner_cursor; private String picture; private Privacy privacy; private String summary; private String title; private String url; private String via_id; private String via_name; private String via_type; private String xid; public Link() { } public int getItemViewType() { return GraphObject.LINK; } // ___ Public services _____________________________________________________ public boolean isVideoLink() { return isYoutubeLink() || isDailymotionLink() || isVimeoLink(); } public boolean isYoutubeLink() { return YoutubeUtil.isYoutubeLink(url); } public boolean isDailymotionLink() { return DailymotionUtil.isDailymotionLink(url); } public boolean isVimeoLink() { return VimeoUtil.isVimeoLink(url); } public boolean isEventLink() { return getEventId().length() > 0; } public String getEventId() { if (url != null && url.length() > 8 && url.substring(0, 8).equals("/events/")) return url.substring(8, url.length() - 1); return ""; } public String getBackdated_time() { return backdated_time; } public void setBackdated_time(String backdated_time) { this.backdated_time = backdated_time; } public boolean getCan_backdate() { return can_backdate; } public void setCan_backdate(boolean can_backdate) { this.can_backdate = can_backdate; } public String getCaption() { return caption; } public void setCaption(String caption) { this.caption = caption; } public CommentInfo getComment_info() { return comment_info; } public void setComment_info(CommentInfo comment_info) { this.comment_info = comment_info; } public String getCreated_time() { return created_time; } public void setCreated_time(String created_time) { this.created_time = created_time; } public List<String> getImage_urls() { return image_urls; } public void setImage_urls(List<String> image_urls) { this.image_urls = image_urls; } public LikeInfo getLike_info() { return like_info; } public void setLike_info(LikeInfo like_info) { this.like_info = like_info; } public String getLink_id() { return link_id; } public void setLink_id(String link_id) { this.link_id = link_id; } public String getOwner() { return owner; } public void setOwner(String owner) { this.owner = owner; } public String getOwner_name() { return owner_name; } public void setOwner_name(String owner_name) { this.owner_name = owner_name; } public String getOwner_type() { return owner_type; } public void setOwner_type(String owner_type) { this.owner_type = owner_type; } public String getOwner_pic() { return owner_pic; } public void setOwner_pic(String owner_pic) { this.owner_pic = owner_pic; } public String getOwner_comment() { return owner_comment; } public void setOwner_comment(String owner_comment) { this.owner_comment = owner_comment; } public String getOwner_cursor() { return owner_cursor; } public void setOwner_cursor(String owner_cursor) { this.owner_cursor = owner_cursor; } public String getPicture() { return picture; } public void setPicture(String picture) { this.picture = picture; } public Privacy getPrivacy() { return privacy; } public void setPrivacy(Privacy privacy) { this.privacy = privacy; } public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getVia_id() { return via_id; } public void setVia_id(String via_id) { this.via_id = via_id; } public String getVia_name() { return via_name; } public void setVia_name(String via_name) { this.via_name = via_name; } public String getVia_type() { return via_type; } public void setVia_type(String via_type) { this.via_type = via_type; } public String getXid() { return xid; } public void setXid(String xid) { this.xid = xid; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(backdated_time); dest.writeByte((byte) (can_backdate ? 1 : 0)); dest.writeString(caption); dest.writeParcelable(comment_info, PARCELABLE_WRITE_RETURN_VALUE); dest.writeString(created_time); dest.writeStringList(image_urls); dest.writeParcelable(like_info, PARCELABLE_WRITE_RETURN_VALUE); dest.writeString(link_id); dest.writeString(owner); dest.writeString(owner_comment); dest.writeString(owner_cursor); dest.writeString(owner_name); dest.writeString(owner_pic); dest.writeString(owner_type); dest.writeString(picture); dest.writeParcelable(privacy, PARCELABLE_WRITE_RETURN_VALUE); dest.writeString(summary); dest.writeString(title); dest.writeString(url); dest.writeString(via_id); dest.writeString(via_name); dest.writeString(via_type); dest.writeString(xid); } public static final Parcelable.Creator<Link> CREATOR = new Parcelable.Creator<Link>() { public Link createFromParcel(Parcel in) { return new Link(in); } public Link[] newArray(int size) { return new Link[size]; } }; private Link(Parcel in) { backdated_time = in.readString(); can_backdate = in.readByte() == 1; caption = in.readString(); comment_info = in.readParcelable(CommentInfo.class.getClassLoader()); created_time = in.readString(); image_urls = new ArrayList<String>(); in.readStringList(image_urls); like_info = in.readParcelable(LikeInfo.class.getClassLoader()); link_id = in.readString(); owner = in.readString(); owner_comment = in.readString(); owner_cursor = in.readString(); owner_name = in.readString(); owner_pic = in.readString(); owner_type = in.readString(); picture = in.readString(); privacy = in.readParcelable(Privacy.class.getClassLoader()); summary = in.readString(); title = in.readString(); url = in.readString(); via_id = in.readString(); via_name = in.readString(); via_type = in.readString(); xid = in.readString(); } }